package co.edu.udea.herbario.bb;

import co.edu.udea.herbario.bl.InformacionGenero;
import co.edu.udea.herbario.dto.Genero;
import java.util.ArrayList;
import java.util.Date;
import javax.faces.event.ActionEvent;

/**
 * Esta clase contiene la implementacion de los metodos planteados para recuperar la informacion de un genero
 *
 * @author Marcela Colorado
 */

public class GeneroBean
{
    private Integer codigo;     // identificador del genero
    private String nombre;      // nombre del genero
    private Integer familia;    // codigo de la familia a la cual pertenece el genero
    private Date fechaIngreso;  // fecha en la cual se ingreso el genero al sistema    

    Genero gen;
    ArrayList <String> generos = null;
    InformacionGenero infoGen = null;

    /**
     * Constructor de la clase GeneroBean
     */
    public GeneroBean()
    {
        gen = new Genero();
        infoGen = new InformacionGenero();
    }

    /**
     * Metodo que obtiene toda la informacion del genero asociado al codigo que se tiene como parametro
     *
     * @param event
     */
    public void recuperarGenero(ActionEvent event)
    {
        gen = infoGen.obtenerGenero(codigo);
    }

    /**
     * Metodo que retorna los nombres de los generos que se tienen registrados en el sistema
     *
     * @param valorGene
     * @return
     */
    public ArrayList <String> recuperarGeneros(String valorGene)
    {
        generos = infoGen.obtenerGeneros(valorGene);
        return generos;
    }

    //Metodos get y set de los atributos de la clase
    public Integer getCodigo() {
        return codigo;
    }

    public void setCodigo(Integer codigo) {
        this.codigo = codigo;
    }

    public Integer getFamilia() {
        return familia;
    }

    public void setFamilia(Integer familia) {
        this.familia = familia;
    }

    public Date getFechaIngreso() {
        return fechaIngreso;
    }

    public void setFechaIngreso(Date fechaIngreso) {
        this.fechaIngreso = fechaIngreso;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
}
